<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 改变this指向；


        function fn(a, b,c) {
            console.log(this, a, b,c);
        }
        // fn(1,2);
        // 1.call  改变this指向；
        // let obj = {
        //     name:"张三"
        // }
        // fn.call(obj,3,4);

        // 2.apply: 改变this指向； 函数的参数接收的是一个数组；
        // let obj = {
        //     name:"王五"
        // }
        // fn.apply(obj,[5,6]);


        // function fn1() {
        //     let obj = {
        //         name: "王五"
        //     }
        //     fn.apply(obj,arguments)
        //     // fn.call(obj,...arguments);
        // }

        // fn1(1,2,3);


        // 3.bind；需要执行2次；
        // add(1)(2)(3);
        // let obj = {
        //     name:"王小二"
        // }
        // fn.bind(obj)(3,2,1);


        // 总结： 1.call 2.apply 3.bind



    </script>
</body>

</html>